Control of clutch fill command based on hydraulic state of oncoming clutch

ABSTRACT

A system and method of controlling a clutch fill command based on the hydraulic state of an oncoming clutch is provided. A vehicle includes a hydraulically-actuated oncoming clutch that is configured to engage during a shift event from one operating mode of the vehicle to another. A controller is configured to generate a clutch fill command at an initial time such that completion of the clutch fill command is synchronized with an identified speed profile of the oncoming clutch. The oncoming clutch defines a real-time hydraulic state when the clutch fill command is generated. The controller is configured to generate a real-time acceptable speed margin for the oncoming clutch based at least partially on the real-time hydraulic state of the oncoming clutch. The controller is configured to cancel the clutch fill command if a real-time speed of the oncoming clutch is outside the generated real-time acceptable speed margin.

TECHNICAL FIELD

The disclosure relates generally to a vehicle having ahydraulically-actuated clutch, and more specifically, to control of aclutch fill command based on the hydraulic state of an oncoming clutch.

BACKGROUND

Vehicles generally include one or more clutches for performing variousfunctions. A clutch generally uses friction to rotatably couple twodifferent elements, for example, rotatably coupling an input shaft to anoutput shaft. Clutches that are designed to operate synchronously (orwithout slip) require substantially zero relative velocity when reactivetorque is transmitted through the clutch. Clutch slip refers to thedifference between the rotational speeds of the coupled elements, forexample, the input and output shafts. Any pressure applied on a slippingclutch may result in heat being generated on the friction material inthe clutch. This may result in wear and eventual degradation of thefriction material.

SUMMARY

A system and method of controlling a clutch fill command based on thehydraulic state of an oncoming clutch is provided. A vehicle defines aplurality of operating modes. The vehicle includes ahydraulically-actuated oncoming clutch that is configured to engageduring a shift event from one operating mode of the vehicle to another.A controller is configured to generate a clutch fill command at aninitial time such that completion of the clutch fill command issynchronized with an identified speed profile of the oncoming clutch.The oncoming clutch defines a real-time hydraulic state when the clutchfill command is generated. The controller is configured to cancel theclutch fill command if a real-time speed (actual clutch slip speed orclutch speed profile) of the oncoming clutch is outside a real-timeacceptable speed margin. This serves to prevent pressure from beingapplied to an oncoming clutch that is slipping, thereby protecting theslipping clutch.

The controller is configured to proceed with the clutch fill command ifthe real-time speed of the oncoming clutch is within the generatedreal-time acceptable speed margin. The real-time acceptable speed marginfor the oncoming clutch is generated based at least partially on thereal-time hydraulic state of the oncoming clutch. The real-time speed ofthe oncoming clutch may be determined with a speed sensor that isoperatively connected to the oncoming clutch.

The clutch fill command is configured to cause a predefined fill volumeto be filled with a fluid. The real-time hydraulic state of the oncomingclutch may be characterized by a remaining fill time, the remaining filltime being defined as an amount of time remaining to fill an unfilledportion of the predefined fill volume.

The vehicle may include a first monitor operatively connected to theoncoming clutch and configured to determine a real-time unfilled portionof the predefined fill volume. A fluid pump may be configured toselectively provide the fluid to the predefined fill volume when theclutch fill command is requested by the controller. A second monitor maybe operatively connected to the oncoming clutch and configured todetermine a real-time flow rate of the fluid entering the predefinedfill volume. The controller may determine the remaining fill time atleast partially based on the real-time unfilled portion of thepredefined fill volume and the real-time flow rate, that is, thereal-time unfilled portion of the predefined fill volume divided by thereal-time flow rate and adjusted with calibration offset values.

A method of controlling a clutch fill command of an oncominghydraulically-actuated clutch during a shift event is provided. Themethod includes identifying a speed profile associated with the oncomingclutch and the shift event, the speed profile defining an amount of timeto synchronize the oncoming clutch during the shift event. An initialtime is determined for generating a clutch fill command such thatcompletion of the clutch fill command is synchronized with theidentified speed profile of the oncoming clutch. A clutch fill commandis generated at the initial time. The method includes detecting areal-time speed of the oncoming clutch based at least partially on aspeed sensor operatively connected to the oncoming clutch. A real-timehydraulic state of the oncoming clutch is determined based on one ormore monitors operatively connected to the clutch.

The method includes canceling the clutch fill command if a real-timespeed of the clutch is outside an acceptable speed margin for theclutch. The method includes proceeding with the clutch fill command ifthe real-time speed of the clutch is within the acceptable speed marginfor the clutch. The acceptable speed margin is generated for theoncoming clutch based at least partially on the real-time hydraulicstate of the oncoming clutch. The real-time speed of the clutch isdetermined from a speed sensor operatively connected to the clutch.

The above features and advantages and other features and advantages ofthe present invention are readily apparent from the following detaileddescription of the best modes for carrying out the invention when takenin connection with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustration of a vehicle having a controllerconfigured to control engagement for an oncoming clutch in the vehicle;

FIG. 2 is an example schematic illustration of the clutch of FIG. 1;

FIG. 3 is a flowchart of a process implemented by the controller of FIG.1 to control engagement of the oncoming clutch of FIG. 1; and

FIG. 4 is a set of profiles illustrating one example of applying theprocess of FIG. 3 during a shift event.

DETAILED DESCRIPTION

A vehicle is provided with a controller configured to control theengagement of an oncoming clutch based at least partially on a real-timehydraulic state of the clutch. The vehicle may take many different formsand include multiple and/or alternate components and facilities. Whilean example vehicle is shown in the Figures, the components illustratedin the Figures are not intended to be limiting. Indeed, additional oralternative components and/or implementations may be used. FIG. 1illustrates an example vehicle 10 that includes an engine 12, a firstmotor 14, a second motor 16, a gearbox 18, one or morehydraulically-actuated clutches 20 and a controller 50. The vehicle 10may be any passenger or commercial automobile such as a hybrid electricvehicle including a plug-in hybrid electric vehicle, an extended rangeelectric vehicle, or other vehicles.

The engine 12 may include any device configured to generate an enginetorque by, for example, converting a fuel into rotational motion.Accordingly, the engine 12 may be an internal combustion engineconfigured to convert energy from a fossil fuel into rotational motionusing a thermodynamic cycle. The engine 12 may be configured to outputthe engine torque via a crankshaft 22.

The first motor 14 may include any device configured to generate a firstmotor torque by, for example, converting electrical energy intorotational motion. For instance, the first motor 14 may be configured toreceive electrical energy from a power source (not shown) such as abattery. The power source may be configured to store and outputelectrical energy, such as direct current (DC) energy. An inverter (notshown) may be used to convert the DC energy from the battery intoalternating current (AC) energy. The first motor 14 may be configured touse the AC energy from the inverter to generate rotational motion. Thefirst motor 14 may be further configured to generate electrical energywhen provided with a torque, such as the engine torque. For example, thefirst motor 14 may generate AC energy that may be converted by theinverter into DC energy and stored in the power source.

The second motor 16 may include any device configured to generate asecond motor torque by, for example, converting electrical energy intorotational motion. Like the first motor 14, the second motor 16 may beconfigured to receive electrical energy from the power source eitherdirectly or via the inverter. The second motor 16 may be furtherconfigured to generate electrical energy that may be stored in, forexample, the power source.

The gearbox 18 may include any device configured to convert the enginetorque, the first motor torque, and/or the second motor torque intorotational motion that may be used to propel the vehicle 10. Forinstance, the transmission gearbox 18 may include one or more planetarygearsets having a plurality of gears of various sizes.

The gearbox 18 may be configured to receive the engine torque and/or thefirst motor torque via a first input node 30, and the second motortorque via a second input node 32. The gearbox 18 may output thepropulsion torque to wheels 34 of the vehicle 10 via an output shaft 28connected to an output node 36.

While the vehicle 10 may include any number of clutches 20, a firstclutch 20A, a second clutch 20B, and a third clutch 20C are illustratedin FIG. 1. The first clutch 20A may be grounded (for example, the drivenmechanism is fixed and does not rotate) operatively connected to thefirst input node 30 of the gearbox 18. When the first clutch 20A isengaged, the first clutch 20A may prevent one or more gears in thegearbox 18 from rotating so that the second motor torque may betransferred from the second input node 32 to the output node 36 topropel the vehicle 10. The second clutch 20B may be operatively disposedbetween the first motor 14 and the first input node 30. When the secondclutch 20B is engaged, the first motor torque may be transferred fromthe first motor 14 to the first input node 30 so that the vehicle 10 maybe propelled, at least in part, by the first motor torque (in otherwords, the first motor torque contributes to the propulsion torque). Thethird clutch 20C may be operatively disposed between the engine 12 andthe first motor 14. When the third clutch 20C is engaged, the enginetorque may be transferred to the first motor 14 so that the first motor14 may act as a generator if the second clutch 20B is disengaged or sothat the engine torque alone or in combination with the first motortorque may be transferred to the first input node 30 of the gearbox 18if the second clutch 20B is engaged.

The gearbox 18 is built to provide a hybrid powertrain that is capableof producing a plurality of operating modes. As is known to those ofordinary skill in the art, hybrid powertrains with multiple torquetransfer devices may have multiple operating modes with differentcombinations of engine on, engine off, motor A on/off, motor B on/off,etc., with the torque path depending on the actuation state of thevarious clutches used in the powertrain. Referring to FIG. 1, theengagement of clutch 20C connects the engine 12 to the motor 14 in onepossible mode. The engagement of clutch 20B connects motor 14 to node 30in another possible mode. The engagement of clutch 20A grounds node 30,and allows torque from motor 16 to power node 32, with or without torquefrom motor 14, showing two additional modes. Thus the vehicle 10 mayoperate in a plurality of operating modes based on the engagement of oneor more of the first clutch 20A, the second clutch 20B, and the thirdclutch 20C. The clutch 20 is configured to engage during a shift eventfrom one of the plurality of operating modes to another of the pluralityof operating modes. For example, the first clutch 20A may be engagedduring a first operating mode and a second operating mode. The secondclutch 20B may be engaged during the second operating mode and a thirdoperating mode. The third clutch 20C may be engaged during the fourthoperating mode. As such, the second clutch 20B may engage during thetransition from the first operating mode to the second operating mode,and the third clutch 20C may engage during the transition from the thirdoperating mode to the fourth operating mode. The first clutch 20A mayengage during a transition to the first operating mode. Referring toFIG. 1, the controller 50 is configured to control engagement of anoncoming clutch 20 during a shift event from one of the plurality ofoperating modes to another of the plurality of operating modes.

Each clutch 20 may be hydraulically operated. That is, each clutch 20may be configured to engage when provided with fluid at a minimumpressure and disengage when provided with fluid below the minimumpressure. Each clutch 20 may include any device configured to engage totransfer torque generated by one component of the vehicle 10 to another.For instance, each clutch 20 may include a driving mechanism and adriven mechanism. The driving mechanism may be configured to rotate whenprovided with a rotational force such as the engine torque, the firstmotor torque and the second motor torque. When fully engaged, the drivenmechanism may rotate at the same speed as the driving mechanism. Whendisengaged or partially engaged, however, the driven mechanism is freeto slip relative to the driving mechanism, allowing the drivingmechanism and the driven mechanism to rotate at different speeds.

Shifting from one of the plurality of operating modes to another of theplurality of operating modes involves, in most cases, disengaging oneclutch (off-going clutch, e.g. 20A) associated with the currentoperating mode and engaging another clutch (oncoming clutch, e.g. 20B)associated with the new operating mode. Each such shift event includes afill or preparation phase during which a predefined volume of theoncoming clutch 20 is filled in preparation for torque transmission.Once filled, the oncoming clutch 20 transmits torque in relation to theapplied pressure, and the shift can be completed using various controlstrategies.

FIG. 2 schematically illustrates an example of an assembly 60 for anoncoming clutch 20. The assembly 60 (not drawn to scale) may take manydifferent forms and include multiple and/or alternate components andfacilities. It is to be understood that the example illustrated in FIG.4 is not intended to be limiting. The assembly 60 includes a cylinder 62having a piston 64 positioned within a chamber 66. When a clutch fillcommand is generated, pressurized hydraulic fluid 68 at some fillpressure enters the chamber 66 through a hydraulic line 70. Thehydraulic line 70 is fluidly connected with a fluid pump 72. Theassembly 60 may include pump regulators, such as a combination ofpressure control solenoids (not shown).

Referring to FIG. 2, the fluid pump 72 may be configured to selectivelyprovide fluid 68 to a predefined fill volume 74 when a clutch fillcommand is generated by the controller 50. The predefined fill volume 74may include the volume of the chamber 66 as well as a portion of thehydraulic line 70. The hydraulic pressure applied by the fluid 68 in thepredefined fill volume 74 moves the piston 64, thereby articulating theclutch 20 through various states.

As discussed below, once a clutch fill command is generated, the clutch20 defines a real-time hydraulic state. In the embodiment shown, thereal-time hydraulic state of the clutch 20 is characterized by aremaining fill time T_(r)(t) or an amount of time remaining to fill anunfilled portion of the predefined fill volume 74. The real-timehydraulic state of the clutch 20 may be determined by a plurality ofmonitors operatively connected to the clutch 20. Referring to FIG. 2, afirst monitor 82 is configured to determine a real-time unfilled portionof the predefined fill volume 74, that is, the portion of the predefinedfill volume 74 remaining to be filled. A second monitor 84 is configuredto determine a real-time flow rate of the fluid 68 entering thepredefined fill volume 74.

Referring to FIG. 2, clutch 20 includes connective surfaces in the formof plates 76 interspersed with friction material 78. Any number ofplates 76 may be used. When the clutch 20 is not actuated, the plates 76are kept separate, for example, with the use of a biasing member 79(e.g. a spring). When the clutch 20 is actuated and a pressure isapplied, the plates 76 are brought into contact each other, andfrictional forces between the plates 76 create a locked relationshipwhere the plates 76 move in unison. Referring to FIG. 2, a speed sensor80 is operatively connected to the clutch 20 and configured to detect areal-time speed of the clutch 20. The clutch 20 may include othercomponents not shown.

Referring to FIG. 1, a controller 50 is configured to control engagementof an oncoming clutch 20 during a shift event from one of the pluralityof operating modes to another of the plurality of operating modes.Stated differently, controller 50 is adapted to optimize control of theclutch fill command during the shift event. Controller 50 does so inpart by executing a process 100 (shown in FIG. 3) which resides withinthe controller 50 or is otherwise readily executable by the controller50. As is explained below, execution of process 100 serves to preventpressure from being applied to and an oncoming clutch 20 that isslipping, thereby protecting the slipping clutch. Any pressure appliedon an oncoming clutch 20 that is slipping may result in heat beinggenerated on the friction material 78 and subsequent degradation of thefriction material 78 in the clutch 20. Process 100 need not be appliedin the specific order recited herein. Furthermore, it is to beunderstood that some steps may be eliminated.

FIG. 4 is a set of profiles 200 illustrating one example of applying theprocess 100 of FIG. 3 during a shift event. The profiles 200 aresynchronized for time at t=0 (line 202), t=1 (line 204), t=2 (line 206)and t=3 (line 208) and are intended to be non-limiting. Process 100 isdescribed with reference to FIGS. 3-4. The controller 50 of FIG. 1identifies a particular clutch within the vehicle 10 that is to serve asthe oncoming clutch 20 during a shift event (transitioning from one ofthe plurality of operating modes of the vehicle 10 to another of theplurality of operating modes).

Referring to FIG. 3, process 100 may begin with step 102 where thecontroller 50 identifies a speed profile associated with the oncomingclutch 20 and the shift event. Referring to FIG. 4, an example of theidentified speed profile 210 and an example of the clutch fill command212 are shown. The identified speed profile defines an amount of timerequired to synchronize the clutch 20 during the shift event. Theidentified speed profile (or speed profile with respect to time) may bestored in one or more look-up tables, databases, data repositories, orany other type of data stores. Process 100 then proceeds to step 104.

At step 104, the controller 50 determines an initial time (shown in FIG.4 as time t=0 or point 202), for generating the clutch fill command 212,such that completion of the clutch fill command 212 is synchronized withthe identified speed profile (example profile 210 in FIG. 4) of theoncoming clutch 20. In other words, a point in time is predicted atwhich the clutch fill command 212 is to be generated in order to achievecomplete hydraulic clutch fill at the point of clutch speedsynchronization. This may be accomplished by sub-steps 104A and 104B.

In sub-step 104A, for the oncoming clutch 20, the controller 50determines a predicted fill time T_(fill) for filling a predefined fillvolume 74 (an example of which is shown in FIG. 2). The predicted filltime T_(fill), is the amount of time for the clutch fill command 212 tobe fully executed, that is, the amount of time needed to engage theoncoming clutch 20. The oncoming clutch 20 is configured to transmit atorque related to an applied clutch pressure when the predefined fillvolume 74 is completely filled with the fluid 68 (see FIG. 2). Thecontroller 50 may determine the predicted fill time T_(fill) as thepredefined fill volume 74 divided by the initial flow rate of the fluid68 entering the predefined fill volume 74. The initial flow rate maydepend upon many factors, including but not limited to, the size andcapacity of pumps supplying fluid (such as pump 72 in FIG. 2), leakrate, fluid passage geometry, fluid temperature, pressure, and anypressure differentials between the existing line pressure and therequired fill pressure. The predicted fill time T_(fill) may adjusted bycalibration offset values to define a maximum fill time and a minimumfill time, i.e., a range of values instead if a fixed value. Thecalibration offset values may be stored in one or more look-up tables,databases, data repositories, or other types of data stores.

In sub-step 104B, the predicted fill time T_(fill) is compared with theidentified speed profile and an initial time is determined such that theclutch speed (in the identified speed profile) reaches zero when thepredefined fill volume 74 is completely filled, in order to achievecomplete hydraulic clutch fill at the point of clutch speedsynchronization. Referring to FIG. 4, the initial time is set at t=0(line 202), such that the identified speed profile 210 is synchronizedwith the completion of the clutch fill command 212. If it is allowed toproceed, i.e., not canceled, the clutch fill command 212 is completed attime t=3 (line 208). Process 100 then proceeds to step 106.

At step 106, the controller 50 generates the clutch fill command 212 atthe initial time determined in step 104. The process 100 then proceedsto step 108.

At step 108, once the clutch fill command 212 is generated, thecontroller 50 determines a real-time hydraulic state of the clutch 20.This determination may be based on information from a plurality ofmonitors, such as the first and second monitors 82, 84 operativelyconnected to the clutch 20 in FIG. 2. In the embodiment shown, thereal-time hydraulic state of the clutch 20 is characterized by aremaining fill time T_(r)(t), defined as an amount of time remaining tofill an unfilled portion of the predefined fill volume 74. Referring toFIG. 4, an example profile 220 of a remaining fill time T_(r)(t) isshown.

The controller 50 determines the remaining fill time T_(r)(t) as areal-time unfilled portion V_(u)(t) of the predefined fill volume 74divided by a real-time flow rate F(t) of the fluid 68 entering thepredefined fill volume 74, e.g. T_(r)(t)=V_(u)(t)/F(t). The remainingfill time T_(r)(t) may be adjusted with calibration offset values.Referring to FIG. 4, an example profile 222 of the real-time unfilledportion V_(u)(t) and an example profile 224 of the real-time flow rateF(t) is shown. The process 100 then proceeds to step 110.

At step 110, based at least partially on the real-time hydraulic stateof the clutch 20 determined in step 108, the controller 50 generates anacceptable speed margin M(t) for the clutch 20. Referring to FIG. 4, anexample profile 230 of the acceptable speed margin M(t) is shown. Theacceptable speed margin M(t) may be determined as a function of theremaining fill time T_(r)(t). The acceptable speed margin M(t) may alsobe determined as a percentage of the remaining fill time T_(fill) (i.e.,percentage T_(r)=T_(r)/T_(fill)). This allows the acceptable speedmargin M(t) to be normalized across clutches of varying sizes andfeatures.

One example of determining an acceptable speed margin M(t) as a functionof the percentage remaining fill time is described below. It is to beunderstood that this is just an example and is intended to benon-limiting, that is, any suitable method of determining the acceptablespeed margin M(t) may be employed. The acceptable speed margin M(t) maybe determined for a fixed number of time values (e.g. percentage timeremaining 100%, 75%, 50%, 25%, 10%, 0%), with intermediate time valuesbeing interpolated. The acceptable speed margin M(100) at 100% of timeremaining may be set to an arbitrary value, for example, 2000 rpm. In afirst example, the controller 50 multiplies the initial value by thepercent time to fill [2000 rpm*Percent Time Remaining to Fill Clutch] tocalculate the acceptable speed margin M(t) for the six time values. Theacceptable speed margin M(75%), M(50%), M(25%), M(10%), M(0) will be1500, 1000, 500, 200 and 0 rpm, respectively.

In a second example, the controller 50 sets the acceptable speed marginM(100) at 100% of time remaining to be an initial speed value multipliedby a margin factor. For example, if the clutch is slipping 1000 rpm atthe start of the fill process and factor of 1.5 is selected, M(100) isset to be 1500 rpm. As the percent time is being reduced, the initialvalue M(100) is multiplied by the percent time to fill to obtain theacceptable speed margin, i.e., the controller 50 multiplies the initialvalue by the percent time to fill [1500 rpm*Percent Time Remaining toFill Clutch] to calculate the acceptable speed margin M(t) for the sixtime values.

Referring to FIG. 3, at step 112, the controller 50 determines areal-time speed S(t) of the clutch 20. For example, real-time speed maybe obtained from a speed sensor operatively connected to the clutch 20,for example, the speed sensor 80 shown in FIG. 2. Referring to FIG. 4,an example profile 232 of the real-time speed S(t) is shown. Next, thecontroller 50 determines whether the real-time speed S(t) (profile 232in FIG. 4) is within the acceptable speed margin M(t) (profile 230 inFIG. 4).

Referring to FIG. 3, if the real-time speed S(t) is outside theacceptable speed margin M(t), the controller 50 cancels the clutch fillcommand 212 in step 114. As noted above, this avoids putting pressure onthe oncoming clutch 20 while it is slipping. The process 100 may loopback to step 102 as shown in FIG. 3.

Referring to FIG. 3, if the real-time speed S(t) is within theacceptable speed margin M(t), the controller 50 proceeds with the clutchfill command 212 in step 116. Referring to FIG. 3, the process 100 mayloop back to step 112 until the clutch fill command 212 is completed.

Referring to FIG. 4, the real-time speed S(t) (profile 232) remainswithin the acceptable speed margin M(t) (profile 230) prior to time t=2.Just at t=2, the real-time speed S(t) (profile 232) goes outside theacceptable speed margin M(t) (profile 230). As shown by line 234, theclutch fill command 212 is canceled at t=2, in accordance with step 114of FIG. 3. If the real-time speed S(t) (profile 230) had remained withinthe acceptable speed margin M(t) (profile 230), the clutch fill command212 would have proceeded to completion to time t=4 or line 208.

Since various parameters are determined in real time, the remaining timemay change during each loop of the process 100. Thus, the clutch fillcommand 212 may be continued (per step 116) in one loop of the process100 but canceled (per step 114) in the next loop of the process 100.This reduces the risk of engaging the oncoming clutch 20 prematurely, ascircumstances of the vehicle 10 change. Additionally, each of theprofiles 200 may be adjusted or calibrated with calibration offsetvalues. The calibration offset values may be stored in one or morelook-up tables, databases, data repositories, or other types of datastores.

Referring to FIG. 4, the acceptable speed margin M(t) (profile 230) forthe clutch 20 may be configured to be at a maximum value at the initialtime t=0 for generating the clutch fill command 212 and configured tosubsequently decrease. Referring to FIG. 4, an event 242 is shown atwhich the flow rate F(t) (profile 224) rapidly declines. For example,this could be due to a faulty pump or other system restriction thatcauses the flow of fluid to the clutch to rapidly decline. As the systemrecovers, the flow rate F(t) (profile 224) gradually increases.

The controller 50 of FIG. 1 may include a computing device that employsan operating system or processor for storing and executingcomputer-executable instructions. Computer-executable instructions maybe compiled or interpreted from computer programs created using avariety of programming languages and/or technologies, including, withoutlimitation, and either alone or in combination, Java™, C, C++, VisualBasic, Java Script, Perl, etc. In general, a processor (e.g., amicroprocessor) receives instructions, e.g., from a memory, acomputer-readable medium, etc., and executes these instructions, therebyperforming one or more processes, including one or more of the processesdescribed herein. Such instructions and other data may be stored andtransmitted using a variety of computer-readable media.

A computer-readable medium (also referred to as a processor-readablemedium) includes any non-transitory (e.g., tangible) medium thatparticipates in providing data (e.g., instructions) that may be read bya computer (e.g., by a processor of a computer). Such a medium may takemany forms, including, but not limited to, non-volatile media andvolatile media. Non-volatile media may include, for example, optical ormagnetic disks and other persistent memory. Volatile media may include,for example, dynamic random access memory (DRAM), which may constitute amain memory. Such instructions may be transmitted by one or moretransmission media, including coaxial cables, copper wire and fiberoptics, including the wires that comprise a system bus coupled to aprocessor of a computer. Some forms of computer-readable media include,for example, a floppy disk, a flexible disk, hard disk, magnetic tape,any other magnetic medium, a CD-ROM, DVD, any other optical medium,punch cards, paper tape, any other physical medium with patterns ofholes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip orcartridge, or any other medium from which a computer can read.

Look-up tables, databases, data repositories or other data storesdescribed herein may include various kinds of mechanisms for storing,accessing, and retrieving various kinds of data, including ahierarchical database, a set of files in a file system, an applicationdatabase in a proprietary format, a relational database managementsystem (RDBMS), etc. Each such data store may be included within acomputing device employing a computer operating system such as one ofthose mentioned above, and may be accessed via a network in any one ormore of a variety of manners. A file system may be accessible from acomputer operating system, and may include files stored in variousformats. An RDBMS may employ the Structured Query Language (SQL) inaddition to a language for creating, storing, editing, and executingstored procedures, such as the PL/SQL language mentioned above.

The detailed description and the drawings or figures are supportive anddescriptive of the invention, but the scope of the invention is definedsolely by the claims. While some of the best modes and other embodimentsfor carrying out the claimed invention have been described in detail,various alternative designs and embodiments exist for practicing theinvention defined in the appended claims.

1. A vehicle operable in a plurality of operating modes, the vehicle comprising: an oncoming clutch configured to engage during a shift event from one of the plurality of operating modes to another of the plurality of operating modes, the oncoming clutch being hydraulically-actuated; a controller configured to generate a clutch fill command at an initial time such that completion of the clutch fill command is synchronized with an identified speed profile of the oncoming clutch; wherein the oncoming clutch defines a real-time hydraulic state when the clutch fill command is generated; wherein the controller is configured to generate a real-time acceptable speed margin for the oncoming clutch based at least partially on the real-time hydraulic state of the oncoming clutch; a speed sensor operatively connected to the oncoming clutch and configured to detect a real-time speed of the oncoming clutch; and wherein the controller is configured to cancel the clutch fill command if the real-time speed of the oncoming clutch is outside the real-time acceptable speed margin.
 2. The vehicle of claim 1, wherein the controller is configured to proceed with the clutch fill command if the real-time speed of the oncoming clutch is within the generated real-time acceptable speed margin.
 3. The vehicle of claim 1, wherein the acceptable speed margin for the oncoming clutch is configured to be at a maximum value at the initial time and configured to subsequently decrease.
 4. The vehicle of claim 1, wherein the clutch fill command is configured to cause a predefined fill volume to be filled with a fluid.
 5. The vehicle of claim 4, wherein the real-time hydraulic state of the oncoming clutch is characterized by a remaining fill time, the remaining fill time being defined as an amount of time remaining to fill an unfilled portion of the predefined fill volume.
 6. The vehicle of claim 4, further comprising: a first monitor operatively connected to the oncoming clutch and configured to determine a real-time unfilled portion of the predefined fill volume; a fluid pump configured to selectively provide a fluid to the predefined fill volume when the clutch fill command is generated by the controller; a second monitor operatively connected to the oncoming clutch and configured to determine a real-time flow rate of the fluid entering the predefined fill volume; wherein the controller determines a remaining fill time at least partially based on the real-time unfilled portion of the predefined fill volume and the real-time flow rate; and wherein the real-time hydraulic state of the oncoming clutch is characterized by the remaining fill time.
 7. A method of controlling a clutch fill command for an oncoming hydraulically-actuated clutch during a shift event, the method comprising: identifying a speed profile associated with the oncoming clutch and the shift event, the speed profile defining an amount of time to synchronize the oncoming clutch during the shift event; determining an initial time for generating the clutch fill command such that completion of the clutch fill command is synchronized with the identified speed profile of the oncoming clutch; generating a clutch fill command at the initial time; determining a real-time hydraulic state of the oncoming clutch based on one or more monitors operatively connected to the clutch; generating an acceptable speed margin for the oncoming clutch based at least partially on the real-time hydraulic state of the oncoming clutch; detecting a real-time speed of the clutch from a speed sensor operatively connected to the clutch; and canceling the clutch fill command if the real-time speed of the clutch is outside the acceptable speed margin for the clutch.
 8. The method of claim 7, wherein determining the initial time for generating the clutch fill command includes: determining a predicted fill time for filling a predefined fill volume, the oncoming clutch being configured to transmit a torque related to an applied pressure when the predefined fill volume is completely filled with a fluid.
 9. The method of claim 7, further comprising: proceeding with the clutch fill command if the real-time speed of the clutch is within the acceptable speed margin for the clutch.
 10. The method of claim 7, wherein the acceptable speed margin for the oncoming clutch is configured to be at a maximum value at the initial time for generating the clutch fill command and configured to subsequently decrease.
 11. The method of claim 7, wherein determining the real-time hydraulic state of the oncoming clutch includes: determining a real-time unfilled portion of a predefined fill volume, the oncoming clutch being configured to transmit a torque related to an applied oncoming clutch pressure when the predefined fill volume is completely filled with a fluid; determining a real-time flow rate of the fluid entering the predefined fill volume; determining a remaining fill time for the oncoming clutch based at least partially on the real-time unfilled portion of the predefined fill volume and the real-time flow rate.
 12. The method of claim 11, wherein determining the real-time hydraulic state of the oncoming clutch further includes: generating a percentage remaining fill time for the oncoming clutch based at least partially on the remaining fill time.
 13. A method of controlling a clutch fill command of an oncoming hydraulically-actuated clutch during a shift event, the method comprising: identifying a speed profile associated with the clutch and the shift event, the identified speed profile defining an amount of time to synchronize the clutch during the shift event; determining an initial time for generating the clutch fill command such that completion of the clutch fill command is synchronized with the identified speed profile of the clutch, wherein determining the initial time for generating the clutch fill command includes determining a predicted fill time for filling a predefined fill volume; generating a clutch fill command at the initial time; determining a real-time hydraulic state of the clutch based on at least one monitor operatively connected to the clutch; generating an acceptable speed margin for the clutch based at least partially on the real-time hydraulic state of the clutch; detecting a real-time speed of the clutch from a speed sensor operatively connected to the clutch; canceling the clutch fill command if the real-time speed of the clutch is outside the acceptable speed margin for the clutch; and proceeding with the clutch fill command if the real-time speed of the clutch is within the acceptable speed margin for the clutch.
 14. The method of claim 13, wherein determining the real-time hydraulic state of the clutch includes: determining a real-time unfilled portion of the predefined fill volume, the clutch being configured to transmit a torque related to an applied clutch pressure when the predefined fill volume is completely filled with a fluid; determining a real-time flow rate of the fluid entering the predefined fill volume; determining a remaining fill time for the clutch based at least partially on the real-time unfilled portion of the predefined fill volume and the real-time flow rate. 